import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'
import path from 'path' // 新增路径模块
// https://vitejs.dev/config/
export default defineConfig({
  define: {
    __VUE_PROD_DEVTOOLS__: 'false',
    __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false',
  },
  
  base:"./",


  // 模块解析配置
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'), // 主项目目录
      '@components': path.resolve(__dirname, './src/components'), // 组件目录
      '@assets': path.resolve(__dirname, './src/assets'), // 静态资源目录
      '@store': path.resolve(__dirname, './src/store'), // 状态管理目录
      '@utils': path.resolve(__dirname, './src/utils') // 工具函数目录
    }
  },


  // 代理跨域
  server:{
    open: true,// 前端启动项目自动弹出浏览器
    port: 2112,// 前端启动端口
    proxy: {
      // '/dragon': { // 客户端发送的请求路径以'/dragon'开头时，这个请求将会被代理。这里的'/dragon'是匹配请求路径的前缀
      //   // target: 'http://localhost:8888/',	// 获取数据的服务器地址设置 本地
      //   target: 'http://172.25.126.110:8888/',	// 获取数据的服务器地址设置 本地
      //   changeOrigin: true, // 需要代理跨域
      //   rewrite: (path) => path.replace(/^\/dragon/, '') // 将请求地址
      // },
      // 这里是线上的打包配置
      '/dragon': {
        target: 'http://localhost:8888/',  // 直接使用Docker网络内的容器名
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/dragon/, '')
      },
    }
  },


   // 插件配置
   plugins: [
    vue(), 
    AutoImport({ // 自动导入插件
      imports: [
        'vue', // 自动导入Vue API
        { 
          'naive-ui': [ // 按需导入Naive UI组件
            'useDialog',
            'NLayout', 
            'useMessage',
            'useNotification',
            'useLoadingBar'
          ]
        }
      ]
    }),


    



    Components({ // 组件自动注册插件
      resolvers: [
        NaiveUiResolver() // Naive UI组件解析器
      ]
    })
  ]
})
